1. Field of the Invention
This invention relates to implementing Audio/Video Control (AV/C) device communication systems, as in the AV/C Digital Interface Command Set specified by IEEE 1394. More particularly, this invention relates to techniques for implementing the AV/C data packets over multiple transports. Application of this invention may especially be found in the realm of IEEE 1394 systems and applications.
2. The Prior Art
The IEEE 1394 multimedia bus standard is to be the “convergence bus” bringing together the worlds of the PC and digital consumer electronics. It is readily becoming the digital interface of choice for consumer digital audio/video applications, providing a simple, low-cost and seamless plug-and-play interconnect for clusters of digital A/V devices, and it is being adopted for PCs and peripherals.
The original specification for 1394, called IEEE 1394-1995, supported data transmission speeds of 100 to 400 Mbits/second. Most consumer electronic devices available on the market have supported either 100 or 100/200 Mbits/second; meaning that plenty of headroom remains in the 1394 specification. However, as more devices are added to a system, and improvements in the quality of the A/V data (i.e., more pixels and more bits per pixel) emerge, a need for greater bandwidth has been indicated.
The 1394a specification (pending approval) offers efficiency improvements, including support for very low power, arbitration acceleration, fast reset and suspend/resume features. However, not all devices meet the 1394 specification and not all devices communicate by way of the same protocols.
The AV/C control protocol was designed to operate over the Function Control Protocol (FCP) transport via an IEEE-1394 bus. There is no implementation for the AV/C control protocol over any transport other than FCP. The old method of implementing the AV/C protocol assumes a single transport, FCP, and uses direct calls to the FCP transport implementation. Thus, current implementations hardwire the AV/C control protocol layer to the FCP transport layer. If another AV/C transport layer were defined, these implementations would have to be redesigned.
The current AV/C transport layer, FCP, is a rather low performance transport protocol. While initially AV/C was designed as a low speed protocol for controlling AV devices such as camcorders, it is now being used as a file system protocol for AV storage devices such as AV disk drives. This new use will require a higher performance transport protocol for applications such as home AV servers. Such transports may be asynchronous connections or Serial Bus Protocol (SBP) connections.
In addition, certain standards bodies, such as the Video Electronics Standards Association (VESA), are specifying the transport of AV/C via IP over non-1394 networks such as ethernet. Current implementations of the AV/C protocol will not only need to support transports other than FCP but will need to simultaneously support multiple transports for AV/C control of devices with different transport capabilities. Thus, a method is required for separating the AV/C protocol implementation from the AV/C transport implementation and that also supports multiple transports running simultaneously.
It is therefore desirable to overcome this shortcoming by providing a means for devices to communicate with one another without regard to protocols or connectivity. This is especially true today, when users of such devices have an ever-growing desire to couple all types of audio/video equipment to their personal computers for instance. However, at present there is no convenient means for enabling multiple such devices to communicate one with the others. That is, a user may be able to connect a video camera to a computer if they have the appropriate cables and protocols. However, if that user wishes to connect an A/V system to a computer network and a video camera, matters are far more difficult, if not impossible in many instances.